package com.vision.sales.cl.data;

import com.google.gwt.core.client.GWT;
import com.google.gwt.editor.client.Editor.Path;
import com.sencha.gxt.core.client.ValueProvider;
import com.sencha.gxt.data.shared.LabelProvider;
import com.sencha.gxt.data.shared.ModelKeyProvider;
import com.sencha.gxt.data.shared.PropertyAccess;
import com.vision.sales.cm.db.data.Product;
import com.vision.sales.cm.db.data.Salesman;
import com.vision.sales.cm.db.data.SalesmanProduct;

/**
 * 
 * @author Mark
 *
 */
public interface SalesmanProductProperties extends PropertyAccess<SalesmanProduct> {
	
	public static final SalesmanProductProperties INSTANCE = GWT.create(SalesmanProductProperties.class);
	
	ModelKeyProvider<SalesmanProduct> key();
	
	LabelProvider<SalesmanProduct> nameLabel();

	ValueProvider<SalesmanProduct, Salesman> salesman();
	
	@Path("salesman.code")
	ValueProvider<SalesmanProduct, String> salesmanCode();
	
	ValueProvider<SalesmanProduct, Product> product();
	
	@Path("product.code")
	ValueProvider<SalesmanProduct, String> productCode();
	
	ValueProvider<SalesmanProduct, Double> commissionRate();
		
}